﻿using System;
namespace Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister {
    
    
    public partial class Paring2Paring : global::Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister.IParing2Paring {
        
        private string @__regmrk;
        
        private string @__idkood;
        
        private Paring2Paring.IOmaAndmedType @__omaAndmed;
        
        private Paring2Paring.IKasutajadType @__kasutajad;
        
        private string @__regtun;
        
        private string @__vinkood;
        
        public Paring2Paring() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public Paring2Paring(string @regmrk, string @idkood, Paring2Paring.IOmaAndmedType @omaAndmed, Paring2Paring.IKasutajadType @kasutajad, string @regtun, string @vinkood) {
            this.@__regmrk = @regmrk;
            this.@__idkood = @idkood;
            this.@__omaAndmed = @omaAndmed;
            this.@__kasutajad = @kasutajad;
            this.@__regtun = @regtun;
            this.@__vinkood = @vinkood;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected Paring2Paring(IParing2Paring @paring2Paring) {
            this.@__regmrk = @paring2Paring.Regmrk;
            this.@__idkood = @paring2Paring.Idkood;
            this.@__omaAndmed = @paring2Paring.OmaAndmed;
            this.@__kasutajad = @paring2Paring.Kasutajad;
            this.@__regtun = @paring2Paring.Regtun;
            this.@__vinkood = @paring2Paring.Vinkood;
        }
        
        public virtual string Regmrk {
            get {
                return this.@__regmrk;
            }
            set {
                this.@__regmrk = value;
            }
        }
        
        public virtual string Idkood {
            get {
                return this.@__idkood;
            }
            set {
                this.@__idkood = value;
            }
        }
        
        public virtual Paring2Paring.IOmaAndmedType OmaAndmed {
            get {
                return this.@__omaAndmed;
            }
            set {
                this.@__omaAndmed = value;
            }
        }
        
        public virtual Paring2Paring.IKasutajadType Kasutajad {
            get {
                return this.@__kasutajad;
            }
            set {
                this.@__kasutajad = value;
            }
        }
        
        public virtual string Regtun {
            get {
                return this.@__regtun;
            }
            set {
                this.@__regtun = value;
            }
        }
        
        public virtual string Vinkood {
            get {
                return this.@__vinkood;
            }
            set {
                this.@__vinkood = value;
            }
        }
        
        public partial class OmaAndmedType : IOmaAndmedType {
            
            private string @__omaKood;
            
            private string @__omaNimi;
            
            private string @__omaEesnimi;
            
            public OmaAndmedType() {
            }
            
            /// <summary>
            /// All parameters
            /// </summary>
            public OmaAndmedType(string @omaKood, string @omaNimi, string @omaEesnimi) {
                this.@__omaKood = @omaKood;
                this.@__omaNimi = @omaNimi;
                this.@__omaEesnimi = @omaEesnimi;
            }
            
            /// <summary>
            /// Copy Constructor
            /// </summary>
            protected OmaAndmedType(IOmaAndmedType @omaAndmedType) {
                this.@__omaKood = @omaAndmedType.OmaKood;
                this.@__omaNimi = @omaAndmedType.OmaNimi;
                this.@__omaEesnimi = @omaAndmedType.OmaEesnimi;
            }
            
            public virtual string OmaKood {
                get {
                    return this.@__omaKood;
                }
                set {
                    this.@__omaKood = value;
                }
            }
            
            public virtual string OmaNimi {
                get {
                    return this.@__omaNimi;
                }
                set {
                    this.@__omaNimi = value;
                }
            }
            
            public virtual string OmaEesnimi {
                get {
                    return this.@__omaEesnimi;
                }
                set {
                    this.@__omaEesnimi = value;
                }
            }
        }
        
        public interface IOmaAndmedType {
            
            string OmaKood {
                get;
                set;
            }
            
            string OmaNimi {
                get;
                set;
            }
            
            string OmaEesnimi {
                get;
                set;
            }
        }
        
        public partial class KasutajadType : IKasutajadType {
            
            private System.Collections.Generic.List<global::Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister.IKasutaja> @__item = new System.Collections.Generic.List<global::Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister.IKasutaja>();
            
            public KasutajadType() {
            }
            
            /// <summary>
            /// All parameters
            /// </summary>
            public KasutajadType(System.Collections.Generic.List<global::Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister.IKasutaja> @item) {
                this.@__item = @item;
            }
            
            /// <summary>
            /// Copy Constructor
            /// </summary>
            protected KasutajadType(IKasutajadType @kasutajadType) {
                this.@__item = @kasutajadType.Item;
            }
            
            public virtual System.Collections.Generic.List<global::Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister.IKasutaja> Item {
                get {
                    return this.@__item;
                }
                set {
                    this.@__item = value;
                }
            }
        }
        
        public interface IKasutajadType {
            
            System.Collections.Generic.List<global::Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister.IKasutaja> Item {
                get;
                set;
            }
        }
    }
}
